6
תגובות

regex

פתח matan sh ,
מה קורה?

איך עושים REGEX שיקח לי את מטקסט הבא את הכיתובים שבצידי התגיות ובאמצע, לדוג:

$reg = 'word1 <div class="pop"><a href = "<?php echo $href; ?>">word3</a></div> word 2';

איך באמצעות REGEX אני לוקח את כל ה-wordים?

ניסיתי ככה:
preg_match_all('/(<(.)*>)* ([^><]+|.+) (<(.)*>)* /msxi',$reg,$pull, PREG_SET_ORDER);


ונחשו מה! זה לקח רק את המילים שבצד שמאל וזהו!.

אגב, הקטצ' זה שתגיות משתנות וגם המילים אז חייב להיות משהו כללי

6 תשובות

avatar ענה intval ב 10 לאפריל 2013 #

strip_tags ?

avatar ענה matan sh ב 10 לאפריל 2013 #

חשבתי על זה אבל זה לא מפריד לי בין המילים. המטרה שלי היא לשנות את המילים שליד ובאמצע

avatar ענה intval ב 10 לאפריל 2013 #

די בטוח בתגובות בדוקומנטציה של strip_tags יש דוגמה לביטוי רגולרי שעושה אותו דבר.
גג אפשר להחליף את כל התגים באיזשהו סימן כמו | ולעשות עליו explode

avatar ענה matan sh ב 10 לאפריל 2013 #

הנושא כבר נבדק. הדבר היחידי שאפשר לעשות עם strip_tag זה לשים לו תגיות שהוא יתעלם מהם (שלא יסיר אותם).
זה בעיה סתם להחליף את התגיות ב-| כי אני צריך לשנות את הטקסט הזה שהוא חלק ממסמך גדול ואני לא רוצה שיהיו כפיליות אז לכן אני לוקח ריזיקה להחלפה של התגיות שליד בהחלפה בלבד!

avatar ענה matan sh ב 11 לאפריל 2013 #

קיצר, לא חשוב, מצאתי כבר את הפיתרון

avatar ענה OrelBeY ב 13 לאפריל 2013 #

אשמח לדעת מהו, אם אפשר. :-)